//app.js
import {getToken, wx_login} from "./utils/util";

App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    var userInfo = wx.getStorageSync('userInfo')
    if (userInfo) {
      this.globalData.userInfo = userInfo
    }
    // 登录
    wx.checkSession({
      success(){
        // 登陆过
        console.log('had login')
        if (! getToken()){
          wx_login()
        }
      },
      fail () {
        wx_login()
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        // 用户信息
        if (!userInfo){
          console.log('load user info')
          if (res.authSetting['scope.userInfo']){
            wx.getUserInfo({
              success: res => {
                // 可以将 res 发送给后台解码出 unionId
                this.globalData.userInfo = res.userInfo
                wx.setStorageSync('userInfo', res.userInfo)

                // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                // 所以此处加入 callback 以防止这种情况
                if (this.userInfoReadyCallback) {
                  this.userInfoReadyCallback(res)
                }
              }
            })
          }
          else {
            wx.authorize({
              scope: 'scope.userInfo',
              success () {
                wx.getUserInfo({
                  success: res => {
                    // 可以将 res 发送给后台解码出 unionId
                    this.globalData.userInfo = res.userInfo
                    wx.setStorageSync('userInfo', res.userInfo)
                    // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                    // 所以此处加入 callback 以防止这种情况
                    if (this.userInfoReadyCallback) {
                      this.userInfoReadyCallback(res)
                    }
                  }
                })
              }
            })
          }
        }

      }
    })
  },
  globalData: {
      userInfo: null
  },
  theme: 'dark'

})

